#include "RecastDebugDraw.h"
#ifdef __cplusplus
extern "C" {
#endif
void nav_duDebugDrawCompactHeightfieldDistance(duDebugDraw * dd,rcCompactHeightfield const * chf){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	rcCompactHeightfield const& c_arg_chf=*(rcCompactHeightfield const *)(chf);
	duDebugDrawCompactHeightfieldDistance(c_arg_dd,c_arg_chf);
}

void nav_duDebugDrawCompactHeightfieldRegions(duDebugDraw * dd,rcCompactHeightfield const * chf){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	rcCompactHeightfield const& c_arg_chf=*(rcCompactHeightfield const *)(chf);
	duDebugDrawCompactHeightfieldRegions(c_arg_dd,c_arg_chf);
}

void nav_duDebugDrawCompactHeightfieldSolid(duDebugDraw * dd,rcCompactHeightfield const * chf){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	rcCompactHeightfield const& c_arg_chf=*(rcCompactHeightfield const *)(chf);
	duDebugDrawCompactHeightfieldSolid(c_arg_dd,c_arg_chf);
}

void nav_duDebugDrawContours(duDebugDraw * dd,rcContourSet const * cset,float const alpha){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	rcContourSet const& c_arg_cset=*(rcContourSet const *)(cset);
	float const c_arg_alpha=alpha;
	duDebugDrawContours(c_arg_dd,c_arg_cset,c_arg_alpha);
}

void nav_duDebugDrawHeightfieldLayer(duDebugDraw * dd,rcHeightfieldLayer const * layer,int const idx){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	rcHeightfieldLayer const& c_arg_layer=*(rcHeightfieldLayer const *)(layer);
	int const c_arg_idx=idx;
	duDebugDrawHeightfieldLayer(c_arg_dd,c_arg_layer,c_arg_idx);
}

void nav_duDebugDrawHeightfieldLayers(duDebugDraw * dd,rcHeightfieldLayerSet const * lset){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	rcHeightfieldLayerSet const& c_arg_lset=*(rcHeightfieldLayerSet const *)(lset);
	duDebugDrawHeightfieldLayers(c_arg_dd,c_arg_lset);
}

void nav_duDebugDrawHeightfieldSolid(duDebugDraw * dd,rcHeightfield const * hf){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	rcHeightfield const& c_arg_hf=*(rcHeightfield const *)(hf);
	duDebugDrawHeightfieldSolid(c_arg_dd,c_arg_hf);
}

void nav_duDebugDrawHeightfieldWalkable(duDebugDraw * dd,rcHeightfield const * hf){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	rcHeightfield const& c_arg_hf=*(rcHeightfield const *)(hf);
	duDebugDrawHeightfieldWalkable(c_arg_dd,c_arg_hf);
}

void nav_duDebugDrawPolyMesh(duDebugDraw * dd,rcPolyMesh const * mesh){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	rcPolyMesh const& c_arg_mesh=*(rcPolyMesh const *)(mesh);
	duDebugDrawPolyMesh(c_arg_dd,c_arg_mesh);
}

void nav_duDebugDrawPolyMeshDetail(duDebugDraw * dd,rcPolyMeshDetail const * dmesh){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	rcPolyMeshDetail const& c_arg_dmesh=*(rcPolyMeshDetail const *)(dmesh);
	duDebugDrawPolyMeshDetail(c_arg_dd,c_arg_dmesh);
}

void nav_duDebugDrawRawContours(duDebugDraw * dd,rcContourSet const * cset,float const alpha){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	rcContourSet const& c_arg_cset=*(rcContourSet const *)(cset);
	float const c_arg_alpha=alpha;
	duDebugDrawRawContours(c_arg_dd,c_arg_cset,c_arg_alpha);
}

void nav_duDebugDrawRegionConnections(duDebugDraw * dd,rcContourSet const * cset,float const alpha){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	rcContourSet const& c_arg_cset=*(rcContourSet const *)(cset);
	float const c_arg_alpha=alpha;
	duDebugDrawRegionConnections(c_arg_dd,c_arg_cset,c_arg_alpha);
}

void nav_duDebugDrawTriMesh(duDebugDraw * dd,float const * verts,int nverts,int const * tris,float const * normals,int ntris,unsigned char const * flags,float const texScale){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	float const * c_arg_verts=(float const *)(void*)(verts);
	int c_arg_nverts=nverts;
	int const * c_arg_tris=(int const *)(void*)(tris);
	float const * c_arg_normals=(float const *)(void*)(normals);
	int c_arg_ntris=ntris;
	unsigned char const * c_arg_flags=(unsigned char const *)(void*)(flags);
	float const c_arg_texScale=texScale;
	duDebugDrawTriMesh(c_arg_dd,c_arg_verts,c_arg_nverts,c_arg_tris,c_arg_normals,c_arg_ntris,c_arg_flags,c_arg_texScale);
}

void nav_duDebugDrawTriMeshSlope(duDebugDraw * dd,float const * verts,int nverts,int const * tris,float const * normals,int ntris,float const walkableSlopeAngle,float const texScale){
	duDebugDraw * c_arg_dd=(duDebugDraw *)(void*)(dd);
	float const * c_arg_verts=(float const *)(void*)(verts);
	int c_arg_nverts=nverts;
	int const * c_arg_tris=(int const *)(void*)(tris);
	float const * c_arg_normals=(float const *)(void*)(normals);
	int c_arg_ntris=ntris;
	float const c_arg_walkableSlopeAngle=walkableSlopeAngle;
	float const c_arg_texScale=texScale;
	duDebugDrawTriMeshSlope(c_arg_dd,c_arg_verts,c_arg_nverts,c_arg_tris,c_arg_normals,c_arg_ntris,c_arg_walkableSlopeAngle,c_arg_texScale);
}

#ifdef __cplusplus
}
#endif
